﻿Imports System.ComponentModel
Imports Entidades
Public Class frmAñadirObjeto
    Public entrega As Entrega
    Private cuenta As Integer = 0
    Private codSerie As String
    Private fam As New Familia
    Private listaFam As New List(Of Familia)
    Private Sub frmAñadirObjeto_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        lblNumero.Text = "Objeto numero " & cuenta + 1
        listaFam = miGestion.obtenerFamilias
        For i As Integer = 0 To listaFam.Count - 1
            cboTipo.Items.Add(listaFam(i).Nombre)
        Next
        cboTamaño.Items.Clear()




    End Sub



    Private Sub cboTipo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboTipo.SelectedIndexChanged


        For i As Integer = 0 To listaFam.Count - 1
            If listaFam(i).Nombre = cboTipo.Text Then
                fam = listaFam(i)
            End If
        Next
        cboTamaño.Items.Clear()
        If fam.IdFamilia = "ZA" Then
            cboTamaño.Items.Add("32")
            cboTamaño.Items.Add("33")
            cboTamaño.Items.Add("34")
            cboTamaño.Items.Add("35")
            cboTamaño.Items.Add("36")
            cboTamaño.Items.Add("37")
            cboTamaño.Items.Add("38")
            cboTamaño.Items.Add("39")
            cboTamaño.Items.Add("40")
            cboTamaño.Items.Add("41")
            cboTamaño.Items.Add("42")
            cboTamaño.Items.Add("43")
            cboTamaño.Items.Add("44")
            cboTamaño.Items.Add("45")
            cboTamaño.Items.Add("46")
            cboTamaño.Items.Add("47")
            cboTamaño.Items.Add("48")



        Else
            cboTamaño.Items.Add("XS")
            cboTamaño.Items.Add("S")
            cboTamaño.Items.Add("M")
            cboTamaño.Items.Add("L")
            cboTamaño.Items.Add("XL")
            cboTamaño.Items.Add("XXL")
            cboTamaño.Items.Add("NT")
        End If

    End Sub

    Private Sub btnCancelarObjeto_Click(sender As Object, e As EventArgs) Handles btnCancelarObjeto.Click
        If cuenta = entrega.NumeroProductos Then
            Me.Close()

            Exit Sub
        End If
        Dim result As Integer = MessageBox.Show("La entrega tiene " & entrega.NumeroProductos & " objetos a añadir, ¿Seguro que desea cancelar el registro de mas objetos?", "Atencion", MessageBoxButtons.YesNo)
        If result = DialogResult.Yes Then
            Exit Sub
            Me.Close()
        End If

    End Sub

    Private Sub btnAñadirObjeto_Click(sender As Object, e As EventArgs) Handles btnAñadirObjeto.Click
        If cuenta = entrega.NumeroProductos Then
            MessageBox.Show("Ya se han añadido todos los objetos de esta entrega")
            Exit Sub
        End If
        If cboTipo.Text = "" Then
            MessageBox.Show("Faltan datos sin rellenar")
            Exit Sub
        End If
        If cboValoracion.Text = "" Then
            MessageBox.Show("Faltan datos sin rellenar")
            Exit Sub

        End If
        If txtDescripcion.Text = "" Then
            MessageBox.Show("Faltan datos sin rellenar")
            Exit Sub
        End If
        If cboTamaño.Text = "" Then
            MessageBox.Show("Faltan datos sin rellenar")
            Exit Sub

        End If
        If Not IsNumeric(cboValoracion.Text) Then
            MessageBox.Show("Valoracion no valida")
            Exit Sub

        End If
        Dim num As Integer = miGestion.contarObjetosDeUnaFamilia(fam) + 1
        Dim numSt As String = num.ToString
        If numSt.Length = 1 Then
            numSt = "00" & numSt
        End If
        If numSt.Length = 2 Then
            numSt = "0" & numSt
        End If
        If numSt.Length = 3 Then
            numSt = numSt
        End If
        codSerie = "P" & fam.IdFamilia & numSt & "T" & cboTamaño.Text
        Dim objeto As New Objeto(fam.IdFamilia, num, entrega.IdEntrega, Double.Parse(cboValoracion.Text), cboTamaño.Text, codSerie, txtDescripcion.Text)
        Dim st As String = miGestion.añadirObjeto(objeto)
        If st <> "" Then
            MessageBox.Show(st)
            Exit Sub
        Else
            miGestion.EntregaValorada(entrega)
            MessageBox.Show("Se ha añadido con el codigo de serie " & codSerie)
            txtCodigo.Text = codSerie
            cuenta = cuenta + 1
            lblNumero.Text = "Objeto numero " & cuenta + 1
        End If
    End Sub



    Private Sub btnSiguiente_Click(sender As Object, e As EventArgs) Handles btnSiguiente.Click
        If cuenta = entrega.NumeroProductos Then
            MessageBox.Show("Ya se han añadido todos los objetos de esta entrega")
            Exit Sub
        End If
        lblNumero.Text = "Objeto numero " & cuenta + 1
        cboTipo.Text = ""
        txtDescripcion.Text = ""
        cboTamaño.Text = ""
        txtCodigo.Text = ""
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.Close()

    End Sub
End Class
